package com.canaan.business.mapper.bill;

import java.util.List;
import com.canaan.business.domain.bill.MaterialPreparationDetail;

/**
 * 生产备料清单Mapper接口
 *
 * @author huangxs
 * @date 2023-09-13
 */
public interface MaterialPreparationDetailMapper {
    /**
     * 查询生产备料清单
     *
     * @param id 生产备料清单主键
     * @return 生产备料清单
     */
    public MaterialPreparationDetail selectMaterialPreparationDetailById(Long id);

    /**
     * 查询生产备料清单列表
     *
     * @param materialPreparationDetail 生产备料清单
     * @return 生产备料清单集合
     */
    public List<MaterialPreparationDetail> selectMaterialPreparationDetailList(MaterialPreparationDetail materialPreparationDetail);

    /**
     * 新增生产备料清单
     *
     * @param materialPreparationDetail 生产备料清单
     * @return 结果
     */
    public int insertMaterialPreparationDetail(MaterialPreparationDetail materialPreparationDetail);

    /**
     * 批量新增生产备料清单
     *
     * @param materialPreparationDetailList 生产备料清单列表
     * @return 结果
     */
    public int batchInsertMaterialPreparationDetail(List<MaterialPreparationDetail> materialPreparationDetailList);

    /**
     * 修改生产备料清单
     *
     * @param materialPreparationDetail 生产备料清单
     * @return 结果
     */
    public int updateMaterialPreparationDetail(MaterialPreparationDetail materialPreparationDetail);

    /**
     * 批量修改生产备料清单
     *
     * @param materialPreparationDetailList 生产备料清单列表
     * @return 结果
     */
    public int batchUpdateMaterialPreparationDetail(List<MaterialPreparationDetail> materialPreparationDetailList);

    /**
     * 删除生产备料清单
     *
     * @param id 生产备料清单主键
     * @return 结果
     */
    public int deleteMaterialPreparationDetailById(Long id);

    /**
     * 批量删除生产备料清单
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMaterialPreparationDetailByIds(Long[] ids);

    /**
     * 查询生产备料清单
     *
     * @param no 编号
     * @return 生产备料清单
     */
    public MaterialPreparationDetail selectMaterialPreparationDetailByNo(String no);

    /**
     * 批量删除生产备料清单
     *
     * @param nos 需要删除的编号集合
     * @return 结果
     */
    public int deleteMaterialPreparationDetailByNos(String[] nos);

    /**
     * 删除生产备料清单信息
     *
     * @param no 编号
     * @return 结果
     */
    public int deleteMaterialPreparationDetailByNo(String no);

}
